<?xml version="1.0" encoding="utf-8"?>
<Definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             xsi:schemaLocation=". ../../../../Utilities/WCell.PacketAnalyzer/Xml/PacketAnalyzerSchema.xsd"
             Version="4">
  <RealmPacket OpCode="CMSG_NPC_TEXT_QUERY">
    <Simple>
      <Name>Text Id</Name>
      <Type>UInt</Type>
    </Simple>
    <Simple>
      <Name>Entity Id</Name>
      <Type>Guid</Type>
    </Simple>
  </RealmPacket>

  <RealmPacket OpCode="SMSG_NAME_QUERY_RESPONSE">
    <Simple>
		  <Name>Entity Id</Name>
		  <Type>PackedGuid</Type>
	  </Simple>
    <Simple>
      <Name>NameRange</Name>
      <Type>Byte</Type>
    </Simple>
	  <Simple>
        <Name>Name</Name>
        <Type>CString</Type>
    </Simple>
	  <Simple>
        <Name>Text2</Name>
        <Type>CString</Type>
    </Simple>
	  <Simple>
      <Name>Race</Name>
      <Type>Byte</Type>
      <SegmentType>RaceId</SegmentType>
    </Simple>
	  <Simple>
      <Name>Gender</Name>
      <Type>Byte</Type>
      <SegmentType>GenderType</SegmentType>
    </Simple>
	  <Simple>
      <Name>Class</Name>
      <Type>Byte</Type>
      <SegmentType>ClassId</SegmentType>
    </Simple>
	  <Simple>
      <Name>HasDeclinedNames</Name>
      <Type>Byte</Type>
    </Simple>
  </RealmPacket>
  
  
  <RealmPacket OpCode="SMSG_NPC_TEXT_UPDATE">
    <Simple>
      <Name>Text Id</Name>
      <Type>UInt</Type>
    </Simple>
    
    <StaticList Length="8">
      <Name>NPC Text Cases</Name>
      <Simple>
        <Name>Probability</Name>
        <Type>Float</Type>
      </Simple>
      <Simple>
        <Name>Text_0</Name>
        <Type>CString</Type>
      </Simple>
      <Simple>
        <Name>Text_1</Name>
        <Type>CString</Type>
      </Simple>
      <Simple>
        <Name>Language</Name>
        <Type>UInt</Type>
        <SegmentType>ChatLanguage</SegmentType>
      </Simple>
    
      <StaticList Length="3">
        <Name>Emotes</Name>
        <Simple>
          <Name>Delay</Name>
          <Type>UInt</Type>
        </Simple>
        <Simple>
          <Name>Emote</Name>
          <Type>UInt</Type>
          <SegmentType>EmoteType</SegmentType>
        </Simple>
      </StaticList>
      
    </StaticList>
  </RealmPacket>

  <RealmPacket OpCode="CMSG_CREATURE_QUERY">
    <Simple>
      <Name>Entry</Name>
      <Type>Int</Type>
    </Simple>
    <Simple>
      <Name>Creature Causing Query</Name>
      <Type>Guid</Type>
    </Simple>    
  </RealmPacket>
  
  <RealmPacket OpCode ="SMSG_CREATURE_QUERY_RESPONSE">
    <Simple>
      <Name>Entry</Name>
      <Type>Int</Type>
    </Simple>
    <StaticList Length="4">
      <Name>Names</Name>
      <Simple>
        <Name>Name</Name>
        <Type>CString</Type>
      </Simple>
    </StaticList>
    <Simple>
      <Name>Title</Name>
      <Type>CString</Type>
    </Simple>
    <Simple>
      <Name>IconName</Name>
      <Type>CString</Type>
    </Simple>

    <Simple>
      <Name>Flags</Name>
      <Type>Int</Type>
      <SegmentType>NPCs.NPCEntryFlags</SegmentType>
    </Simple>
    <Simple>
      <Name>Type</Name>
      <Type>Int</Type>
    </Simple>
    <Simple>
      <Name>Creature Family</Name>
      <Type>Int</Type>
      <SegmentType>NPCs.CreatureFamilyId</SegmentType>
    </Simple>
    <Simple>
      <Name>Int 4</Name>
      <Type>Int</Type>
    </Simple>
    <Simple>
      <Name>Int 5</Name>
      <Type>Int</Type>
    </Simple>
    <Simple>
      <Name>SpellGroupId</Name>
      <Type>Int</Type>
    </Simple>
    <Simple>
      <Name>DisplayId</Name>
      <Type>Int</Type>
    </Simple>
    <Simple>
      <Name>Int 8</Name>
      <Type>Int</Type>
    </Simple>
    <Simple>
      <Name>Int 9</Name>
      <Type>Int</Type>
    </Simple>
    <Simple>
      <Name>Int 10</Name>
      <Type>Int</Type>
    </Simple>

    <Simple>
      <Name>Float 1</Name>
      <Type>Float</Type>
    </Simple>
    <Simple>
      <Name>Float 2</Name>
      <Type>Float</Type>
    </Simple>

    <Simple>
      <Name>Is Racial Leader</Name>
      <Type>Byte</Type>
    </Simple>

    <StaticList Length="4">
      <Name>Unk Int Array</Name>
      <Simple>
        <Name>Array Int</Name>
        <Type>Int</Type>
      </Simple>
    </StaticList>

    <Simple>
      <Name>CreatureMovementId</Name>
      <Type>Int</Type>
    </Simple>    
  </RealmPacket>

  <RealmPacket OpCode="CMSG_ITEM_QUERY_SINGLE">
    <Simple>
      <Name>Entry</Name>
      <Type>UInt</Type>
      <SegmentType>WCell.Constants.Items.ItemId</SegmentType>
    </Simple>
  </RealmPacket>
  
  <RealmPacket OpCode="SMSG_ITEM_QUERY_SINGLE_RESPONSE">
    <Simple>
      <Name>ItemId</Name>
      <Type>UInt</Type>
      <SegmentType>WCell.Constants.Items.ItemId</SegmentType>
    </Simple>
    <Simple>
      <Name>Class</Name>
      <Type>Int</Type>
      <SegmentType>WCell.Constants.Items.ItemClass</SegmentType>
    </Simple>
    <Simple>
      <Name>SubClass</Name>
      <Type>Int</Type>
      <SegmentType>WCell.Constants.Items.ItemSubClass</SegmentType>
    </Simple>
    <Simple>
      <Name>Unknown</Name>
      <Type>Int</Type>
    </Simple>
    <Simple>
      <Name>Name</Name>
      <Type>CString</Type>
    </Simple>
    <Simple>
      <Name>Name2</Name>
      <Type>CString</Type>
    </Simple>
    <Simple>
      <Name>Name3</Name>
      <Type>CString</Type>
    </Simple>
    <Simple>
      <Name>Name4</Name>
      <Type>CString</Type>
    </Simple>
    <Simple>
      <Name>DisplayId</Name>
      <Type>Int</Type>
    </Simple>
    <Simple>
      <Name>Quality</Name>
      <Type>UInt</Type>
      <SegmentType>WCell.Constants.Items.ItemQuality</SegmentType>
    </Simple>
    <Simple>
      <Name>Flags</Name>
      <Type>UInt</Type>
      <SegmentType>WCell.Constants.Items.ItemFlags</SegmentType>
    </Simple>
    <Simple>
      <Name>Faction</Name>
      <Type>UInt</Type>
    </Simple>
    <Simple>
      <Name>BuyPrice</Name>
      <Type>Int</Type>
    </Simple>
    <Simple>
      <Name>SellPrice</Name>
      <Type>Int</Type>
    </Simple>
    <Simple>
      <Name>InventorySlotType</Name>
      <Type>UInt</Type>
      <SegmentType>WCell.Constants.Items.InventorySlotType</SegmentType>
    </Simple>
    <Simple>
      <Name>RequiredClassMask</Name>
      <Type>UInt</Type>
      <SegmentType>WCell.Constants.ClassMask</SegmentType>
    </Simple>
    <Simple>
      <Name>RequiredRaceMask</Name>
      <Type>UInt</Type>
      <SegmentType>WCell.Constants.RaceMask</SegmentType>
    </Simple>
    <Simple>
      <Name>Level</Name>
      <Type>Int</Type>
    </Simple>
    <Simple>
      <Name>RequiredLevel</Name>
      <Type>Int</Type>
    </Simple>
    <Simple>
      <Name>RequiredSkill</Name>
      <Type>UInt</Type>
      <SegmentType>WCell.Constants.Skills.SkillId</SegmentType>
    </Simple>
    <Simple>
      <Name>RequiredSkillValue</Name>
      <Type>Int</Type>
    </Simple>
    <Simple>
      <Name>RequiredProfession</Name>
      <Type>UInt</Type>
      <SegmentType>WCell.Constants.Spells.SpellId</SegmentType>
    </Simple>
    <Simple>
      <Name>RequiredPvPRank</Name>
      <Type>Int</Type>
    </Simple>
    <Simple>
      <Name>UnknownRank</Name>
      <Type>Int</Type>
    </Simple>
    <Simple>
      <Name>RequiredFaction</Name>
      <Type>UInt</Type>
      <SegmentType>WCell.Constants.Factions.FactionId</SegmentType>
    </Simple>
    <Simple>
      <Name>RequiredFactionStanding</Name>
      <Type>Int</Type>
      <SegmentType>WCell.Constants.Factions.StandingLevel</SegmentType>
    </Simple>
    <Simple>
      <Name>UniqueCount</Name>
      <Type>Int</Type>
    </Simple>
    <Simple>
      <Name>MaxAmount</Name>
      <Type>Int</Type>
    </Simple>
    <Simple>
      <Name>ContainerSlots</Name>
      <Type>Int</Type>
    </Simple>

    <List>
      <Name>StatMods</Name>
      <Type>Int</Type>
      <Simple>
        <Name>Type</Name>
        <Type>Int</Type>
        <SegmentType>WCell.Constants.ItemModType</SegmentType>
      </Simple>
      <Simple>
        <Name>Value</Name>
        <Type>Int</Type>
      </Simple>
    </List>

    <Simple>
      <Name>ScalingStatDistribution</Name>
      <Type>Int</Type>
    </Simple>
    <Simple>
      <Name>ScalingStatFlags</Name>
      <Type>Int</Type>
    </Simple>

    <StaticList Length="2">
      <Name>Damages</Name>
      <Simple>
        <Name>MinValue</Name>
        <Type>Float</Type>
      </Simple>
      <Simple>
        <Name>MaxValue</Name>
        <Type>Float</Type>
      </Simple>
      <Simple>
        <Name>School</Name>
        <Type>UInt</Type>
        <SegmentType>WCell.Constants.DamageSchoolMask</SegmentType>
      </Simple>
    </StaticList>

    <StaticList Length="7">
      <Name>Resistances</Name>
      <Simple>
        <Name>Value</Name>
        <Type>Int</Type>
      </Simple>
    </StaticList>

    <Simple>
      <Name>AttackTime</Name>
      <Type>UInt</Type>
    </Simple>
    <Simple>
      <Name>ProjectileType</Name>
      <Type>Int</Type>
      <SegmentType>WCell.Constants.Items.ItemProjectileType</SegmentType>
    </Simple>
    <Simple>
      <Name>RangeModifier</Name>
      <Type>Float</Type>
    </Simple>


    <StaticList Length="5">
      <Name>Spells</Name>
      <Simple>
        <Name>Id</Name>
        <Type>UInt</Type>
        <SegmentType>WCell.Constants.Spells.SpellId</SegmentType>
      </Simple>
      <Simple>
        <Name>Trigger</Name>
        <Type>Int</Type>
        <SegmentType>WCell.Constants.Items.ItemSpellTrigger</SegmentType>
      </Simple>
      <Simple>
        <Name>Charges</Name>
        <Type>Int</Type>
      </Simple>
      <Simple>
        <Name>Cooldown</Name>
        <Type>Int</Type>
      </Simple>
      <Simple>
        <Name>CategoryId</Name>
        <Type>Int</Type>
      </Simple>
      <Simple>
        <Name>CategoryCooldown</Name>
        <Type>Int</Type>
      </Simple>
    </StaticList>

    <Simple>
      <Name>BondType</Name>
      <Type>Int</Type>
      <SegmentType>WCell.Constants.Items.ItemBondType</SegmentType>
    </Simple>
    <Simple>
      <Name>Description</Name>
      <Type>CString</Type>
    </Simple>
    <Simple>
      <Name>PageTextId</Name>
      <Type>UInt</Type>
    </Simple>
    <Simple>
      <Name>PageCount</Name>
      <Type>UInt</Type>
    </Simple>
    <Simple>
      <Name>PageMaterial</Name>
      <Type>Int</Type>
      <SegmentType>WCell.Constants.PageMaterial</SegmentType>
    </Simple>
    <Simple>
      <Name>QuestId</Name>
      <Type>UInt</Type>
    </Simple>
    <Simple>
      <Name>LockId</Name>
      <Type>UInt</Type>
    </Simple>
    <Simple>
      <Name>Material</Name>
      <Type>Int</Type>
      <SegmentType>WCell.Constants.Material</SegmentType>
    </Simple>
    <Simple>
      <Name>SheathType</Name>
      <Type>Int</Type>
      <SegmentType>WCell.Constants.SheathType</SegmentType>
    </Simple>
    <Simple>
      <Name>RandomPropertiesId</Name>
      <Type>UInt</Type>
    </Simple>
    <Simple>
      <Name>RandomSuffixId</Name>
      <Type>UInt</Type>
    </Simple>
    <Simple>
      <Name>BlockValue</Name>
      <Type>UInt</Type>
    </Simple>
    <Simple>
      <Name>SetId</Name>
      <Type>UInt</Type>
      <SegmentType>WCell.Constants.Items.ItemSetId</SegmentType>
    </Simple>
    <Simple>
      <Name>MaxDurability</Name>
      <Type>UInt</Type>
    </Simple>
    <Simple>
      <Name>ZoneId</Name>
      <Type>UInt</Type>
      <SegmentType>WCell.Constants.World.ZoneId</SegmentType>
    </Simple>
    <Simple>
      <Name>MapId</Name>
      <Type>UInt</Type>
      <SegmentType>WCell.Constants.World.MapId</SegmentType>
    </Simple>
    <Simple>
      <Name>BagFamily</Name>
      <Type>UInt</Type>
      <SegmentType>WCell.Constants.Items.ItemBagFamilyMask</SegmentType>
    </Simple>
    <Simple>
      <Name>TotemCategory</Name>
      <Type>UInt</Type>
      <SegmentType>WCell.Constants.Items.TotemCategory</SegmentType>
    </Simple>

    <StaticList Length="3">
      <Name>Sockets</Name>
      <Simple>
        <Name>Color</Name>
        <Type>UInt</Type>
        <SegmentType>WCell.Constants.Items.SocketColor</SegmentType>
      </Simple>
      <Simple>
        <Name>Content</Name>
        <Type>UInt</Type>
      </Simple>
    </StaticList>

    <Simple>
      <Name>SocketBonusEnchantId</Name>
      <Type>UInt</Type>
    </Simple>
    <Simple>
      <Name>GemPropertiesId</Name>
      <Type>UInt</Type>
    </Simple>
    <Simple>
      <Name>RequiredDisenchantingLevel</Name>
      <Type>Int</Type>
    </Simple>
    <Simple>
      <Name>ArmorModifier</Name>
      <Type>Float</Type>
    </Simple>
    <Simple>
      <Name>ExistingDuration</Name>
      <Type>UInt</Type>
    </Simple>
    <Simple>
      <Name>ItemLimitCategory</Name>
      <Type>UInt</Type>
    </Simple>

    <Simple>
      <Name>Holidays</Name>
      <Type>UInt</Type>
    </Simple>
  </RealmPacket>

  <RealmPacket OpCode="SMSG_QUERY_TIME_RESPONSE">
    <Simple>
      <Name>Server Time</Name>
      <Type>Int</Type>
    </Simple>
  </RealmPacket>
</Definitions>
